% Ejercicio "Sentencia SELECT de SQL"
\subsection*{\fbox{\theejercicio} - Sentencia {\tt SELECT} de SQL}

Construir una gram\'atica LL(1) lo m\'as completa posible para la sentencia {\tt SELECT} del lenguaje SQL, (en caso de duda tomar la versi\'on de ORACLE). Definir previamente los tokens que sean necesarios.

Ejemplos (entre muchos otros) de sentencias SQL:

\begin{verbatim}
SELECT
     IDUSUARIO, NOMBRE, APELLIDOS FROM USUARIOS
WHERE
     ID > 10


SELECT
     U.IDUSUARIO, U.NOMBRE, U.APELLIDOS, D.NOMBRE
FROM
     USUARIOS U,
     DEPARTAMENTOS D
WHERE
     U.IDDEPARTAMENTO = D.IDDEPARTAMENTO


SELECT
     U.IDUSUARIO, U.NOMBRE, U.APELLIDOS, D.NOMBRE
FROM
     USUARIOS U,
     (SELECT IDDEPARTAMENTO, NOMBRE FROM DEPARTAMENTO) D
WHERE
     U.IDDEPARTAMENTO = D.IDDEPARTAMENTO


SELECT
     U.IDUSUARIO, U.NOMBRE, U.APELLIDOS, D.NOMBRE
FROM
     USUARIOS U
     JOIN AREA A ON U.IDAREA = A.IDAREA,
     (SELECT IDDEPARTAMENTO, NOMBRE FROM DEPARTAMENTO) D
WHERE
     U.IDDEPARTAMENTO = D.IDDEPARTAMENTO
     AND EXISTS (SELECT * FROM SALARIO S WHERE S.IDUSUARIO=U.IDUSUARIO)
\end{verbatim}

% Solución del ejercicio
\subsubsection*{SOLUCI\'ON}


